home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 134_01 / ctoatbls.h < prev    next >
Text File  |  1985-08-19  |  2KB  |  49 lines

  1. /* CTOATBLS.C */
  2. /*    Include file for tables in CTOATBLS.CSM        */
  3.  
  4. /*    Operation types in opctabl ()     */
  5.  
  6. #define OP_SIMPLE    1    /* Simple one-byte operation */
  7. #define OP_LXI        2    /* LXI operation */
  8. #define OP_RPSP        3    /* Register pair in bits 5-4, 11 means SP */
  9. #define OP_REG53    4    /* Register number in bits 5-3 */
  10. #define OP_MVI        5    /* MVI operation */
  11. #define OP_DATA1    6    /* LDA/STA; follower is addr of byte datum */
  12. #define OP_DATA2    7    /* LHLD/SHLD; follower is addr of word datum */
  13. #define OP_MOV        8    /* MOV operation */
  14. #define OP_ARITH    9    /* Arithmetic operation */
  15. #define OP_CONRET    10    /* Conditional return */
  16. #define OP_RPPSW    11    /* Register pair in bits 5-4, 11 means PSW */
  17. #define OP_CONTRA    12    /* Conditional transfer */
  18. #define OP_TRANS    13    /* Unconditional transfer */
  19. #define OP_IARITH    14    /* Arithmetic with immediate operand */
  20. #define OP_RST        15    /* Restart operation */
  21. #define OP_IO        16    /* I/O operation */
  22. #define OP_RST6        17    /* Special case for RST 6 */
  23. #define OP_WHAT        18    /* Unknown operation */
  24.  
  25. /*    Structure of an opcode table entry    */
  26.  
  27. struct opc_entry {
  28.     char opc_mask;        /* Comparison mask */
  29.     char opc_val;        /* Opcode value */
  30.     char opc_name [5];    /* Opcode name */
  31.     char opc_type;        /* Opcode type */
  32.     };
  33.  
  34. /*    Structure of a ccc address table entry    */
  35.  
  36. struct ccc_entry {
  37.     unsigned ccc_addr;    /* Address in C.CCC of the entrypoint */
  38.     char ccc_flags;        /* Flag bits (see below) */
  39.     char ccc_name [7];    /* Entry point name */
  40.     };
  41.  
  42. /*    Flag bits in a C.CCC address table entry    */
  43.  
  44. #define CCC_CODE    0x80    /* Procedure entry point */
  45. #define CCC_DATA    0x40    /* Data cell in low memory */
  46. #define CCC_NMAC    0x20    /* Symbol not in macro library */
  47. -4, 11 means PSW */
  48. #define OP_CONTRA    12    /* Conditional transfer */
  49. #define OP_TRANS    13    /* Unco